/**
 */
package fUML.Semantics.CommonBehaviors.BasicBehaviors;

import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Opaque Behavior Execution</b></em>'.
 * <!-- end-user-doc -->
 *
 * <!-- begin-model-doc -->
 * An opaque execution is an execution for an opaque behavior. 
 *  Opaque
 *                 behaviors are used to define primitive behaviors.
 *  The actual definition of
 *                 the primitive behavior should be given in a concrete subclass of
 *                 OpaqueBehaviorExecution.
 *  
 * <!-- end-model-doc -->
 *
 *
 * @see fUML.Semantics.CommonBehaviors.BasicBehaviors.BasicBehaviorsPackage#getOpaqueBehaviorExecution()
 * @model abstract="true"
 * @generated
 */
public interface OpaqueBehaviorExecution extends Execution {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * The actual definition of the behavior of an Opaque Behavior should be given in
	 *                   a concrete subclass that defines this operation.
	 *  The values of the
	 *                   inputParameters are set when the operation is called.
	 *  The values of the
	 *                   outputParmeters should be set during the execution of the operation.
	 * <!-- end-model-doc -->
	 * @model inputParametersMany="true" inputParametersOrdered="false" outputParametersMany="true" outputParametersOrdered="false"
	 * @generated
	 */
	void doBody(EList<ParameterValue> inputParameters, EList<ParameterValue> outputParameters);

} // OpaqueBehaviorExecution
